var gulprun = require('../gulprun');
var fs = require("fs")

module.exports = {
        'POST /doupload': async (ctx, next) => {

        var
            group_name = ctx.request.body.groupName || '',
            cn_name = ctx.request.body.cnName || '',
            en_name = ctx.request.body.enName || '',
            svg = ctx.request.body.svg || '',
            color = ctx.request.body.color || '';
        var iconGroup = {
            1:{
                name:"常用图标",
                prefix:"common"
            },
            2:{
                name:"报销图标",
                prefix:"reim"
            }
        };

        var index = 1;
        while(true){
            var i=1;
            if(iconGroup[i].name==group_name){
                index = i;
                break;
            }
            i++;
        }
        var svgFileName = index+"_"+cn_name+"_"+en_name+".svg";

        //检查文件名是否存在,如果存在，返回错误页面
        if(fs.existsSync("./src/icons/"+svgFileName)){
            ctx.render('upload-failed.html', {
                title: '上传失败',
                name: en_name
            });
            return;
        }

        var cssFileName = "ecmp-"+iconGroup[index].prefix+"-"+en_name+".css";
        //生成样式文件 src/defaultCss
        var cssFileContent = "."+"ecmp-"+iconGroup[index].prefix+"-"+en_name+"{"+ "color:"+color+";"+"}";
        fs.writeFileSync("./src/defaultCss/"+cssFileName, cssFileContent, function(err) {
            if (err) {
                return console.log(err);
            }
        });
        //生成svg文件    src/icons
        //1_删除_delete.svg
        var svgData = svg.replace(/\swidth="[\w\d]*"/gi,"").replace(/\sheight="[\w\d]*"/gi,"").replace(/\sclass="[\w\d]*"/gi,"").replace(/\sfill="[#\w\d]*"/gi,"");
        fs.writeFileSync("./src/icons/"+svgFileName, svgData, function(err) {
            if (err) {
                return console.log(err);
            }

        });
        //执行生成
        gulprun.run();

        ctx.render('upload-ok.html', {
            title: '上传成功',
            name: cn_name
        });
    }
};



